<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2017 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2017/03-March/31.xhtml"/>
		<title>Improvements in Minetest, improvements in my understanding of Minetest, and losing my credit card &lt;https://y.st./en/weblog/2017/03-March/31.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png"/>
		<link rel="stylesheet" type="text/css" href="/link/main.css"/>
		<script type="text/javascript" src="/script/javascript.js"/>
		<meta name="viewport" content="width=device-width"/>
	</head>
	<body>
<nav>
	<p>
		<a href="/en/coursework/">Coursework</a> |
		<a href="/en/take-down/">Take-down requests</a> |
		<a href="/en/">Home</a> |
		<a href="/en/a/about.xhtml">About</a> |
		<a href="/en/a/contact.xhtml">Contact</a> |
		<a href="/a/canary.txt">Canary</a> |
		<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
		<a href="/en/opinion/">Opinions</a> |
		<a href="/en/law/">Law</a> |
		<a href="/en/recipe/">Recipes</a> |
		<a href="/en/a/links.xhtml">Links</a> |
		<a href="/en/weblog/2017/03-March/31.xhtml.asc">{this page}.asc</a>
	</p>
	<hr/>
	<p>
		Weblog index:
		<a href="/en/weblog/memories">Memories</a> |
		<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
		<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
		<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
	</p>
	<hr/>
	<p>
		Jump to entry:
		<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
		<a rel="prev" href="/en/weblog/2017/03-March/30.xhtml">&lt;Previous</a>
		<a rel="next" href="/en/weblog/2017/04-April/01.xhtml">Next&gt;</a>
		<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
</nav>
		<header>
			<h1>Improvements in Minetest, improvements in my understanding of Minetest, and losing my credit card</h1>
			<p>Day 00755: <time>Friday, 2017 March 31</time></p>
		</header>
<section id="advertisements">
	<h2>Unsponsored advertisements</h2>
	<p>
		Myuu has a new release, <a href="https://myuu.bandcamp.com/album/tender-remains-vocal-piano-version">Tender Remains (Vocal Piano Version)</a>.
		It sounds like something I&apos;d enjoy from the name, but I haven&apos;t had a chance to actually listen to it yet.
	</p>
</section>
<section id="general">
	<h2>General news</h2>
	<p>
		I noticed when I picked up Minetest again that powered rails and carts had made it into the game.
		What I didn&apos;t realise right away was the implications.
		Last time I ran a server, my project was to build a long tunnel from the spawn area to a distant region.
		The plan was to move the spawn area to the other end of the tunnel upon completion, then dig an equally-long tunnel to somewhere else and start again.
		Because of the massive scale of the tunnel, by the time it was completed, many players would&apos;ve left, and having a new spawn area would open up prime real estate again without destroying anyone&apos;s creations.
		It&apos;d simply be another major town.
		At the time, I had a mod set up to allow everyone to create as many personal warp points as they liked too at no cost, so they wouldn&apos;t even have to walk far to reach their existing creations if they&apos;d made proper use of the warp point feature.
		Instead of ever reaching my destination, I built several connections to the creations of others, and my tunnel became a transit line for pedestrians.
		Tunnel entrance requests poured in.
		I had a backlog of requests, so it was unlikely I&apos;d reach my initial goal.
		Adding the carts mod was a frequent request.
		Players wanted quicker transportation through my tunnel; simply having a way to bypass the bumpiness of the surface terrain was nice, but they thought we could do better.
		This time, I planned to do something a little different, though I wasn&apos;t sure what yet.
		I&apos;d build a huge tunnel for sure, just because that gives me a prime excuse to dig huge holes, yielding tones of minerals.
		However, I was going to keep my tunnel out of the centre of the map, where the spawn area is.
		This time, I would secretly be the administrator, instead of it being a well-known fact, so I&apos;d have no special claim to the centre map block; someone else would surely take it before I had the materials needed to craft a protection node.
		However, it occurred to me what these new powered rails and especially the carts really mean for my Minetest world.
		I can set up the transportation tunnels everyone wanted!
		But I need the centre map chunk if I&apos;m to do it right.
		There needs to be strict rules this time though.
		For starters, there needs to be a limited range in which I accept tunnel requests at first.
		Last time, someone requested a tunnel over half the length of my intended initial segment, but in a <strong>*perpendicular direction*</strong>.
		At that point, I lost all hope of getting where I wanted to go.
		I&apos;m also going to need a decent level of planning.
		For example, one useful thing to add would be the option of connecting outside rails to my rails.
		At each surface hub, I should have my rails go all the way out my doors and to the edge of my land.
		That way, someone claiming the land next to mine would be able to, if they choose, continue the railway within the town.
	</p>
	<p>
		While reading about the powered rails to make sure they were what I thought they were, I stumbled upon information about a new rare node, the PB&amp;J Pup.
		It looked like some sort of companion to the Nyan Cat nodes, but it turns out it&apos;s actually a replacement.
		In the next version of Minetest, the Nyan Cat will finally be removed and the PB&amp;J Pup will be filling its role!
		I enjoyed finding the Nyan Cats simply because they&apos;re rare, but otherwise, I was never really thrilled with them.
		For one thing, they&apos;re surrounded by copyright issues.
		At one point, the graphics of the node in-game were replaced to prevent legal issues, with a new image that supposedly didn&apos;t suffer from the problem of being too similar to the original, which was nonfree.
		However, I never really saw how that fixed the problem.
		The fact is, it was still fan art of a proprietary image.
		Now though, it seems the developers are getting it.
		They&apos;ve removed the Nyan Cat altogether.
		Minetest&apos;s use for the Nyan Cat wasn&apos;t too similar to the original art though, so a drop-in replacement completely fixes the problem.
		Secondly, the Nyan Cat is a meme.
		Memes are stupid.
		It&apos;s nice to see the game now free of them.
		I&apos;ll admit that the texture of the candy trail left behind the PB&amp;J Pup could use some work, but I still like this thing so much better.
		The PB&amp;J Pup is <strong>*ours*</strong>.
		I mean, I don&apos;t care if someone else copies it, and I don&apos;t care if <strong>*we*</strong> copy something, as long as we&apos;re free to use it as we please.
		The Nyan Cat is proprietary, and has one or a few owners.
		The PB&amp;J Pup belongs to us all.
	</p>
	<p>
		The other day, I was looking through Minetest&apos;s settings and found a new one.
		It allows the administrator to set the boundaries of the world.
		There are three catches though.
		First, the limit is a single integer, not three or six.
		You can&apos;t set the dimensions of the world separately.
		Instead, the world is always cubic.
		Second, limits set above 31000 will be treated as 31000, which is the default.
		You can&apos;t grow the world, only shrink it.
		Third, map blocks are generated only within whole map chunks that reside within the boundaries.
		That last one is important.
		The settings file says map chunks are 5^3 sets of map blocks and makes some assumptions based on this fact.
		However, that &quot;fact&quot; isn&apos;t actually constant.
		It&apos;s settable in the configuration file before starting a new world and is world-specific.
		It only <strong>*defaults*</strong> to five.
		It only occurred to me today what that implies about the map boundaries though.
		The boundaries of the world stretch from node -30912 to node +30927.
		Neither of those is within sixteen of ±31000.
		Could there be other map blocks outside the default range, blocked off only because the world boundary doesn&apos;t align with the chunk boundary?
		To find out, I set the chunk size to one.
		Last time I did that, it really messed up world generation, but for experimentation, it works well.
		This time, the world generated mostly normally, though dungeon generation was admittedly badly warped.
		Dungeons were everywhere, and they all came out tiny and mangled.
		That didn&apos;t matter though.
		I teleported to what was formerly the edge of the map and the world stretched on.
		Not by much, but about as much as expected.
		The real limits of the game are -30976 and +30991.
		I found eight new map blocks in each of the three dimensions!
		I wrote up a short script telling the computer to find the chunk sizes that&apos;d allow me to generate the full world, and it came up with 1, 3, 1291, and 3873.
		A chunk size of one is stupid and, if I understand correctly, inefficient.
		A chunk size of 3873 would generate the entire world in one go.
		That might be too intensive for my computer, and <strong>*would*</strong> be too much to store on my hard drive.
		A chunk size of 1291 would generate one twenty-seventh of the world at a time, and even that would likely put my computer under.
		I tried it in the name of science though, and thankfully, Minetest refused to start the server.
		It tried, but put this error message in the log:
	</p>
	<blockquote>
		ERROR[Main]: Some exception: &quot;One or more noise parameters were invalid or require too much memory&quot;
	</blockquote>
	<p>
		The game noticed there weren&apos;t enough resources and aborted.
		I also tried that last value, three.
		The dungeons are a bit mangled.
		In some spots, there are way too many dungeons.
		In other spots, there&apos;s none.
		I think it works well enough.
		The dungeons are basically just ruins.
		As long as they&apos;re not <strong>*too*</strong> mangled, they should be fine.
		Having them clustered also gives the illusion of ancient cities as opposed to people living evenly-spaced throughout the world.
		Vanessa E said that mods and even the engine often make assumptions based on the default chunk size.
		When the engine does that, it&apos;s a bit hacky.
		When <strong>*mods*</strong> do that, it&apos;s even hackier, and those mods shouldn&apos;t be used until fixed.
		The original developer agreed that the engine assumes the chunk size and that the dungeon misgeneration was a symptom of this.
		If the engine isn&apos;t built to work with different chunk sizes, why is the chunk size even configurable though?
		They said the only thing the developers try to guarantee when the chunk size isn&apos;t five is that the game won&apos;t crash.
		That should be good enough though.
		If the developers ever fix dungeon gen, my world won&apos;t have issues.
		If they <strong>*don&apos;t*</strong>, my world&apos;ll have a dungeon style not likely seen on other servers, making it stand out a bit.
		Either way, I win.
		Messing with the chunk size did have the completely foreseeable effect of erasing my PB&amp;J Pup though.
		I hope to find a new one eventually, but hopefully this time only after my world becomes public.
		I sort of accidentally got a head start during testing this time.
	</p>
	<p>
		The on-site manager&apos;s parent told me the other day that the bottle deposit in the state&apos;d be doubling soon.
		My mother confirmed yesterday that it&apos;d be tomorrow.
		I looked into it today to see if older bottles that still had the old deposit listed on the label would be accepted at the new price, and indeed they will.
		This document also explains several other things about <a href="https://www.oregon.gov/olcc/docs/bottle_bill/bottle_bill_faqs.pdf">bottle deposits in Oregon</a> as well.
		For example, it&apos;s completely legal for that convenience store to limit bottle returns to fifty per person per day, while grocery stores tend to be required to take at least up to one hundred forty-four.
		The amount they&apos;re required to take seems to depend on the size of their building or property.
		It&apos;s also legal for the restaurant I work at not to accept bottle returns at all.
		As long as we don&apos;t charge a deposit, we don&apos;t have to take the bottles back.
		That makes me wonder though.
		If businesses aren&apos;t required to charge a deposit, why <strong>*do*</strong> they?
		They could build that cost into the cost of the drinks themselves.
		Before I knew that&apos;d get them out of taking back the bottles, I&apos;d already wished they&apos;d be upfront about the cost by including the soda and the deposit in a single price.
		Now though, I see the advantage of keeping it separate just to provide places required to take them back.
		Lots of people won&apos;t recycle without the monetary incentive.
	</p>
	<p>
		I discovered a new feature of the cash registers at work that allows me to enter in an amount of something bought and have the item listed as (for example) five of that item, instead of one of that item five times.
		That should save a little till paper!
		It&apos;s not much, but it&apos;ll add up.
		The problem is we don&apos;t get trained to use these machines properly.
		We&apos;re just shown the basics and told to have at it.
	</p>
	<p>
		This new mobile battery doesn&apos;t last long, and even worse, I don&apos;t have access to my mobile&apos;s internal file system any more and my music on the external <abbr title="Secure Digital">SD</abbr> card keeps appearing to vanish.
		Using the cracked battery that&apos;s at least the right type fixes the problem.
		Clearly, it was a bad idea to use the wrong size of battery.
		I&apos;m going to have to get an actual replacement at some point.
	</p>
	<p>
		I seem to have lost my credit card, and now I&apos;m kind of panicking.
		Normally, I leave my card at home and use it only for online purchases.
		When it goes missing, I know I misplaced it around my home.
		But now, this new credit card account is supposed to give me cash back if I spend enough on it, so I&apos;ve been using it around town if I buy things too.
		I had it yesterday, and I pulled it out to buy lunch.
		However, it&apos;s not in my wallet now.
		I must not&apos;ve put it away.
		Now, I can&apos;t find it.
		I either pulled it out of my pocket and put it somewhere when I got home or I dropped it somewhere.
		I&apos;m not sure what to do aside from record the date it went missing (by way of this paragraph in my journal) and keep an eye out for purchase notifications for things I didn&apos;t buy.
		If it doesn&apos;t show up after a period of time or if I see unauthorised transactions, I&apos;ll report the card as lost or stolen, respectively.
	</p>
	<p>
		My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
	</p>
</section>
		<hr/>
		<p>
			Copyright © 2017 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2017%2F03-March%2F31.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.2</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2017%2F03-March%2F31.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

